home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 009 / exepatc1.arc / EXEPATCH.DOC < prev   
Text File  |  1985-06-13  |  3KB  |  58 lines

  1.       EXEPATCH Utility Program -- Written 6/84, Revised 4/85 
  2.    (c) Copyright 1985 by Mark Horvatich -- ALL RIGHTS RESERVED 
  3.                                                                
  4.  
  5.  
  6. This program allows the user to alter the memory allocation values 
  7. of a specified .EXE file.  When LINK creates an .EXE file, it uses
  8. the object modules passed to determine the absolute minimum amount
  9. of memory the system must allocate above the actual program for it
  10. to operate properly.  If there is insufficient memory, the load
  11. will fail.  There is seldom a need to alter this value, with the
  12. only exception being an assembly language program which must rely
  13. on a specific data segment size before execution can begin.
  14.  
  15. In addition to setting the minimum amount of memory to be allocated,
  16. LINK also sets a maximum.  When the program is loaded for execution,
  17. the system will allocate additional memory, over the minimum that
  18. is required, up to the maximum specified.  If the maximum amount
  19. cannot be allocated, there is no failure; the system allocates as
  20. much as it can.
  21.  
  22. Under default conditions, LINK will set the maximum to FFFF hex.
  23. This tells the system to allocate as much as 65535 16-byte paragraphs
  24. of memory; in other words, all of the rest of memory.  This causes
  25. two problems for programmers:
  26.  
  27.      1)  The memory allocated will overwrite the memory-resident part
  28.          of COMMAND.COM.  Every time the program terminates, the 
  29.          system will have to reload COMMAND.COM from disc.
  30.  
  31.      2)  If the program tries to use the allocate-memory or execute-
  32.          process functions, they will fail due to a lack of available
  33.          memory.
  34.  
  35. EXEPATCH was developed primarily as a solution to these two problems.
  36. For most languages, the EXE file should be patched to specify 1000 hex
  37. paragraphs for the maximum amount of memory to allocate.  This assures
  38. a 64K data segment area, which is the most common case.  For programs
  39. written in assembly language or Pascal which may require larger data
  40. data segments, this value can be adjusted upward.
  41.  
  42. This program accepts standard command line format, making it ideal for
  43. use through a batch file.  The most typical application noted so far
  44. is to create a batch file which executes the LINK program, followed
  45. immediately by the EXEPATCH program.  An example for BASIC follows:
  46.  
  47.      LINK %1,%1,CON,BASCOM
  48.      EXEPATCH %1;
  49.  
  50. The semicolon following the file name will cause EXEPATCH to use the
  51. default responses for the minimum and maximum allocation values.  This
  52. will leave the minimum alone, and change the maximum to 1000 hex.
  53.  
  54. So, you compiled BASIC users out there - enjoy!
  55.  
  56. Mark Horvatich
  57. Colo. Springs, CO
  58.